ویژگی های امنیتی در IPsec
Ipsec از طریق Authentication Header ( AH ) مطمئن می شود که Packet های دریافتی از سوی فرستنده واقعی ( و نه از سوی یک نفوذ کننده که قصد رخنه دارد ) رسیده و محتویات شان تغییر نکرده . AH اطلاعات مربوط به تعیین اعتبار و یک شماره توالی (Seguence Number ) در خود دارد تا از حملات Replay جلوگیری کند . اما AH رمز گذاری نمی شود . رمز گذاری از طریق Encapsulation Security Header یا ESH انجام می گیرد . در این شیوه داده های اصلی رمز گذاری شده و VPN اطلاعاتی را از طریق ESH ارسال می کند .
ESH همچنین کارکرد هایی برای تعیین اعتبار و خطایابی دارد . به این ترتیب دیگر به AH نیازی نیست . برای رمز گذاری و تعیین اعتبار روش مشخص و ثابتی وجود ندارد اما با این همه ، IETF برای حفظ سازگاری میان محصولات مختلف ، الگوریتم های اجباری برای پیاده سازی Ipsec تدارک دیده . برای نمونه می توان به MD5 ، DES یا Secure Hash Algorithm اشاره کرد . مهمترین استانداردها و روش هایی که در Ipsec به کار می روند عبارتند از :
• Diffie-Hellman برای مبادله کلید ها میان ایستگاه های دو سر ارتباط .
• رمز گذاری Public Key برای ثبت و اطمینان از کلیدهای مبادله شده و همچنین اطمینان از هویت ایستگاه های سهیم در ارتباط .
• الگوریتم های رمز گذاری مانند DES برای اطمینان از درستی داده های انتقالی .
• الگوریتم های درهم ریزی ( Hash ) برای تعیین اعتبار تک تک Packet ها .
• امضاهای دیجیتال برای تعیین اعتبارهای دیجیتالی .
4.1.5 - Ipsec بدون تونل
Ipsec در مقایسه با دیگر روش ها یک برتری دیگر هم دارد و آن اینست که می تواند همچون یک پروتکل انتقال معمولی به کار برود .
در این حالت برخلاف حالت Tunneling همه IP packet رمز گذاری و دوباره بسته بندی نمی شود . بجای آن ، تنها داده های اصلی رمزگذاری می شوند و Header همراه با آدرس های فرستنده و گیرنده باقی می ماند . این باعث می شود که داده های سرباز ( Overhead ) کمتری جابجا شوند و بخشی از پهنای باند آزاد شود . اما روشن است که در این وضعیت ، خرابکاران می توانند به مبدا و مقصد داده ها پی ببرند . از آنجا که در مدل OSI داده ها از لایه 3 به بالا رمز گذاری می شوند خرابکاران متوجه نمی شوند که این داده ها به ارتباط با سرویس دهنده Mail مربوط می شود یا به چیز دیگر .
4.1.6 – جریان یک ارتباط Ipsec
بیش از آن که دو کامپیوتر بتوانند از طریق Ipsec داده ها را میان خود جابجا کنند باید یکسری کارها انجام شود .
• نخست باید ایمنی برقرار شود . برای این منظور ، کامپیوترها برای یکدیگر مشخص می کنند که آیا رمز گذاری ، تعیین اعتبار و تشخیص خطا یا هر سه آنها باید انجام بگیرد یا نه .
• سپس الگوریتم را مشخص می کنند ، مثلا” DEC برای رمزگذاری و MD5 برای خطایابی.
• در گام بعدی ، کلیدها را میان خود مبادله می کنند .
Ipsec برای حفظ ایمنی ارتباط از Security Association (SA ) استفاده می کند . SA چگونگی ارتباط میان دو یا چند ایستگاه و سرویس های ایمنی را مشخص می کند . SA ها از سوی SPI ( Security parameter Index ) شناسایی می شوند . SPI از یک عدد تصادفی و آدرس مقصد تشکیل می شود . این به آن معنی است که همواره میان دو کامپیوتر دو SPI وجود دارد :
یکی برای ارتباط A و B و یکی برای ارتباط B به A . اگر یکی از کامپیوترها بخواهد در حالت محافظت شده داده ها را منتقل کند نخست شیوه رمز گذاری مورد توافق با کامپیوتر دیگر را بررسی کرده و آن شیوه را روی داده ها اعمال می کند . سپس SPI را در Header نوشته و Packet را به سوی مقصد می فرستد .
4.1.7 - مدیریت کلیدهای رمز در Ipsec
اگر چه Ipsec فرض را بر این می گذارد که توافقی برای ایمنی داده ها وجود دارد اما خودش برای ایجاد این توافق نمی تواند کاری انجام بدهد .
Ipsec در این کار به IKE ( Internet Key Exchange ) تکیه می کند که کارکردی همچون IKMP ( Key Management Protocol ) دارد. برای ایجاد SA هر دو کامپیوتر باید نخست تعیین اعتبار شوند . در حال حاضر برای این کار از راه های زیر استفاده می شود :
• Pre shared keys : روی هر دو کامپیوتر یک کلید نصب می شود که IKE از روی آن یک عدد Hash ساخته و آن را به سوی کامپیوتر مقصد می فرستد . اگر هر دو کامپیوتر بتوانند این عدد را بسازند پس هر دو این کلید دارند و به این ترتیب تعیین هویت انجام می گیرد .
• رمز گذاری Public Key : هر کامپیوتر یک عدد تصادفی ساخته و پس از رمز گذاری آن با کلید عمومی کامپیوتر مقابل ، آن را به کامپیوتر مقابل می فرستد .اگر کامپیوتر مقابل بتواند با کلید شخصی خود این عدد را رمز گشایی کرده و باز پس بفرستد برا ی ارتباط مجاز است . در حال حاضر تنها از روش RSA برای این کار پیشنهاد می شود .
• امضاء دیجیتال : در این شیوه ، هر کامپیوتر یک رشته داده را علامت گذاری ( امضاء ) کرده و به کامپیوتر مقصد می فرستد . در حال حاضر برای این کار از روش های RSA و DSS ( Digital Singature Standard ) استفاده می شود . برای امنیت بخشیدن به تبادل داده ها باید هر دو سر ارتبا طنخست بر سر یک یک کلید به توافق می رسند که برای تبادل داده ها به کار می رود . برا ی این منظور می توان همان کلید به دست آمده از طریق Diffie Hellman را به کاربرد که سریع تر است یا یک کلید دیگر ساخت که مطمئن تر است .
4.1.8 – خلاصه
تبادل داده ها روی اینرنت چندان ایمن نیست . تقریبا” هر کسی که در جای مناسب قرار داشته باشد می تواند جریان داده ها را زیر نظر گرفته و از آنها سوء استفاده کند . شبکه های شخصی مجازی یا VPN ها کار نفوذ را برا ی خرابکاران خیلی سخت می کند .